// 给你一个按 非递减顺序 排序的整数数组 nums，返回 每个数字的平方 组成的新数组，要求也按 非递减顺序 排序。
#include <vector>
#include <algorithm>
#include <math.h>
#include <iostream>

using std::vector;
using std::cout;

class Solution {
public:
    vector<int> sortedSquares(vector<int>& nums) {
        int left,right;
        left = 0;
        right = nums.size() - 1;
        int loc = right;
        vector<int> v(nums.size(),0);
        while(left <= right)
        {
            if(abs(nums[left]) >= abs(nums[right]))
            {
                v[loc --] = pow(nums[left],2);
                ++ left;
            }
            else
            {
                v[loc --] = pow(nums[right --],2);
            }
        }
        return v;
    }
};


int main(int argc, char const *argv[])
{
    Solution s;
    vector<int> v({-4,-1,0,3,10});
    s.sortedSquares(v);
    getchar();
    return 0;
}
